The invention finds utility in the head end offices of cable TV operators, ADSL system head end and potentially wireless head ends for delivery of video-on-demand programming in digital format as well as other services such as digital telephony or wideband internet access.
Most cable TV systems in the prior art have been broadcast only where individual programs were modulated onto 6 MHz bandwidth analog RF carriers that were frequency division multiplexed. As the internet became more popular and telephone services became deregulated and other digital services became more popular, there has arisen the notion of delivery of digital data over cable TV systems in a portion of the bandwidth unused by the analog CATV programs. This gave rise to cable modems.
Video-on-demand services have been known in hotel television systems for several years. Video-on-demand services allow a user to select a program to view and have the video and audio data of that program transmitted to her television set. Examples of such systems include: U.S. Pat. No. 6,057,832 disclosing a video on demand system with a fast play and a regular play mode; U.S. Pat. No. 6,055,560 disclosing an interactive video-on-demand system that supports functions normally only found on a VCR such as rewind, stop, fast forward etc.; U.S. Pat. No. 6,055,314 which discloses a system for secure purchase and delivery of video content programs over distribution networks and DVDs involving downloading of decryption keys from the video source when a program is ordered and paid for; U.S. Pat. No. 6,049,823 disclosing an interactive video-on-demand to deliver interactive multimedia services to a community of users through a LAN or TV over an interactive TV channel; U.S. Pat. No. 6,025,868 disclosing a pay-per-play system including a high-capacity storage medium; U.S. Pat. No. 6,020,912 disclosing a video-on-demand system having a server station and a user station with the server stations being able to transmit a requested video program in normal, fast forward, slow, rewind or pause modes; U.S. Pat. No. 5,945,987 teaching an interactive video-on-demand network sytem that allows users to group together trailers to review at their own speed and then order the program directly from the trailer; U.S. Pat. No. 5,935,206 teaching a server that provides access to digital video movies for viewing on demand using a bandwidth allocation scheme that compares the number of requests for a program to a threshold and then, under some circumstances of high demand makes another copy of the video movie on another disk where the original disk does not have the bandwidth to serve the movie to all requesters; U.S. Pat. No. 5,926,205 teaching a video-on-demand system that provides access to a video program by partitioning the program into an ordered sequence of N segments and provides subscribers concurrent access to each of the N segments; U.S. Pat. No. 5,802,283 teaching a public switched telephone network for providing information from multimedia information servers to individual telephone subscribers via a central office that interfaces to the multimedia server(s) and receives subscriber requests and including a gateway for conveying routing data and a switch for routing the multimedia data from the server to the requesting subscriber over first, second and third signal channels of an ADSL link to the subscriber.
Video-on-demand on cable TV systems to receive requests from cable subsribers for video programs or services such as high speed internet access or access to T1 or other high speed digital telephony services have not yet completed development. Such systems receive upstream requests and deliver requested video programs with associated audio and other data, as well as bidirectional delivery of internet protocol packets from LAN or WAN sources coupled to the head end bidirectional delivery of telephony data packets to and from T1 or other high speed lines of the public service telephony network. A need has arisen for a video-on-demand service over cable TV systems as well as delivery of other services such as wideband internet and T1 telephony access over cable TV systems.
A genus of video-on-demand pull technology cable TV systems is defined herein. Each system includes one or more xe2x80x9cpull multiplexersxe2x80x9d and one or more video stream inputs and one or more transmitters or transceivers at the head end, and a plurality of customer premises distributed along the downstream transmission medium.
A xe2x80x9cpull multiplexerxe2x80x9d is defined as a head end xe2x80x9ccherry pickerxe2x80x9d multiplexer that has circuitry and/or software which functions to, at least:
receive upstream program and/or service requests, typically video program requests or requests for internet access etc., from the customer premises (or at least some of them if an array of pull multiplexers are used to divide up the work);
map the requests to program identifier codes (hereafter PID) that correspond to PIDs that will be in data packets encoding the desired program(s) and any associated audio, graphic, text or other auxiliary data and, in some embodiments, communicate PIDs and other packet identifying data to one or more video servers, and, in some embodiments, WAN servers and T-carrier interface circuits, to cause them to output data encoding requested programs and xe2x80x9cpushedxe2x80x9d programs to be sent regardless of requests;
receive one or more streams of compressed data packets (typically MPEG II but any compression scheme may be used) encoding a plurality of programs and/or services (such as telephony or internet access) and cull out those packets that have program identifier codes, IP addresses or other packet identifier information in the packet headers that identify the requested program or service data in the payload of the packet as well as data packets associated with the requested program(s) and/or services encoding any other audio, graphic, text or other auxiliary data packets that are to be used with the the requested program or service;
assemble the data packets culled out from the input streams into one or more output streams with each output stream containing the data packets for multiple requested programs and/or services;
outputting one output stream to each transmitter, transceiver or modem coupled to the downstream medium for transmission on a xe2x80x9clogical channelxe2x80x9d and xe2x80x9csubchannelxe2x80x9d (xe2x80x9clogical channelxe2x80x9d means any data path which carries one or more sets of data, each logical channel being multiplexed or otherwise physically or logically separated from other data being transmitted to another entity or in another direction on another logical channel, each set of data being carried on a subchannel of a logical channel also being multiplexed in any known way from the other sets of data being transmitted on the same logical channel) such that each logical channel carries in its subchannels one or more components of one or more requested programs and/or services and wherein, in the preferred embodiment, the collection of all such logical channels and subchannels carries only requested program(s) and/or service(s) (in alternative embodiments, some of the program slots or subchannels in selected or predetermined logical channels will carry data of programs and/or services that have not been specifically requested but which are high demand and which almost always will have users such as CNN or ESPN); and
send downstream messages as to which channel(s) and subchannel(s) the program(s) and/or service(s) (in both requested and requested plus broadcast type embodiments) data will be transmitted on and the PIDs, IP addresses or other identifier information in the headers of the data packets that are to be used at the customer premises to filter out the requested programs and/or services and, in some embodiments, the broadcast high demand programs and/or services (in embodiments where there is not a shared downstream medium such as DSL lines to each customer, the filtering criteria can be dispensed with and the downstream messages only indicate which channels and subchannels contain the requested data).
Any circuitry and/or software that can accomplish these functions in the pull multiplexer are acceptable to practice the invention. Multiple specific examples of such systems within the genus of the invention are included within the detailed description section below.
The above definition of the characteristics of the xe2x80x9cpull multiplexerxe2x80x9d genus assumes that the downstream media has sufficient bandwidth that all the requested (and possibly broadcast) programs and/or services can be transmitted without any downward adjustment in the bandwidth of the output streams. This is often not the case however where the downstream medium is a hybrid fiber coaxial cable CATV plant (hereafter HFC). In such cases, structure to carry out an additional function is necessary in the pull multiplexer. In HFC, there is a fixed maximum amount of bandwidth available, and it must be shared by all the users coupled to the cable. Thus, as the number of requested programs and/or services rise, more and more bandwidth is consumed.
When the load rises to the point that the maximum available bandwidth is about to be exceeded, the pull multiplexer must adjust the bandwidth consumption of the output streams to stay within the bandwidth constraints. Generally, this can be done by commercially available resampling chips. Typically, downward adjustment of bandwidth is done by decompressing the compressed data packets and re-compressing them with a different, stricter compression algorithm which results in less quality but lower bandwidth consumption until the desired bandwidth is reached.
In an alternative embodiment, a pull multiplexer does all of the above (including bandwidth management if necessary) but automatically includes certain high demand programs in the output stream(s) even if they have not been specifically requested. High demand programs are programs that somebody will want to view almost always. These programs are included in one or more output streams at all times in this subgenus of species. The remaining program slots in the channels not consumed by broadcast programs are devoted solely to programs that have been requested and are shared by all users.
In another subgenus of species, the pull multiplexer includes a load management process that functions to make sure as many users as possible receive their requested services and/or programs given the bandwidth constraints of the downstream. In some species, this load management process also attempts to group all requested programs and services being used at a single customer premises on a single channel if possible so a gateway or modem with only one tuner can be used to recover all the data packets of all the requested programs and/or services. In some circumstances, a certain high demand program has been requested as part of a plurality of different requested programs from the same customer premises. Suppose this high demand program is either being broadcast or has also been requested my multiple other customers and the channel on which it is being transmitted has no available program slots for the other program(s) and/or services that have been requested by the customer. In such a case rather than move the high demand program/service that is also being viewed/used by other customers to another channel with the need for downstream messages to all these other customers telling them where it has been moved and an interruption in service, another approach is possible. In such a situation, the load management process simply sends another copy of the data packets encoding the high demand program/service on another channel which has available slots for the other program(s) and/or services that the customer has also requeste. This way, all the requested programs/services can be received with just one tuner in the customer""s gateway/modem thereby reducing the cost to the customer of their equipment. One or more aspects of the processing defined in this paragraph or similar processing described in the detailed description section, and the program structure(s) needed to do this processing, are referred to in the claims as a means for managing output streams for maximum efficiency.
As the terms are used herein, a channel is a slice of bandwidth on the downstream medium that is typically 6 MHz wide, and a program slot is a slice of the channel bandwidth devoted to carrying a requested program. A channel may be a separate radio frequency carrier having a center frequency at the middle of the band of frequencies that define the channel and passband filtered such that its spectrum does not extend outside the channel frequency limits. Typically, each requested program is comprised of a plurality of MPEG packets having one or more PIDs. All these packets for each requested program to be carried on a channel are included in the output stream fed to the transmitter and then modulated on the carrier for that channel. At the customer premises, the carrier is tuned and the digital data of the packets is recovered and packets not having PIDs of requested programs are filtered out. The remaining packets are sent over a LAN to the settop decoder box that requested the program and converted to video signals and other signal formats such as an accompanying audio track or on-screen data displayed with the program.
Alternatively, on fiber optic media, a channel may be a slice of bandwidth centered on a particular frequency by a passband filter that filters the spectrum of the output stream from the pull multiplexer to reject all frequency components outside the channel""s frequency limits. For example, the digital data of the various programs carried on the channel may be spread spectrum multiplexed and summed and the overall spectrum filtered by the passband filter down to a 6 MHz wide spectrum centered on the channel frequency.
A novel aspect of the video-on-demand systems disclosed herein is that they can not only supply video-on-demand programming but also broadband internet access and other broadband services through T-carrier interfaces. The process of providing video-on-demand services along with push programming as well as broadband services from the head end comprises the following steps generally:
receiving one or more input streams of MPEG or other compressed video data in packets from one or more video servers;
receiving one or more input streams of internet protocol format packets from one or more WAN servers or gateways or routers coupled to a wide area network;
receiving one or more input streams of data packets from a T-carrier interface circuit;
receiving one or more requests for video-on-demand programs and/or services encoded in data provided by said one or more WAN servers or gateways or routers or said T-carrier interface circuits, said one or more requests transmitted by said customers over an upstream logical channel on said HFC;
mapping said one or more requests to one or more program identifier codes, IP packet address information or other packet identifying information, and using said program identifier codes for requested video-on-demand programs to send messages to one or more video servers telling them which video-on-demand data files to output, and using said program identifier codes and/or IP packet address information or other packet identifying information to cull out compressed video packets of at least requested video-on-demand program(s) and/or service(s);
organizing said culled out compressed video packets into one or more output data streams, each for transmission by a different cable modem on said shared HFC, each cable modem transmitting one or more logical channels, each with a plurality of subchannels;
sending downstream messages to said customers telling them which logical channels and subchannels upon which they can find their requested video-on-demand program(s) and/or services; and
receiving upstream internet protocol format and/or other format upstream data packets and routing them to the appropriate WAN server, gateway or router or said T-carrier interface circuitry.
One of the novel aspects of the systems disclosed herein is that each customer premises can have a gateway which allows signals and data from other sources besides a single broadband source such as a DSL line or a cable modem can be supplied to the peripherals coupled to the gateway by a LAN. Typical gateways have satellite transceivers, cable modems, DSL modems, an interface to the public service telephone network and tuners for conventional TV antennas. All these circuits are interfaced to one or more local area networks through an IP packetization and routing process and one or more network interface cards. Typical circuitry that couples the signal interfaces to the LAN interface are decoders to convert digital representations of signals YUV format so that an MPEG encoder can compress them down to the available bandwidth on the LAN. Similarly, incoming MPEG packets may be decompressed and then recompressed to fit the available bandwidth on the LAN. A typical process that occurs in such a gateway contains the following steps:
receiving one or more requests identifying one or more video-on-demand programs and/or services a user wishes to enjoy;
transmitting said requests to a head end cherry picker multiplexer which can supply the requested data;
receiving one or more downstream messages indicating from which logical channels and subchannels the data of the requested program(s) and/or services may be recovered from a downstream medium;
tuning to the specified logical channel and demultiplexing the specified subchannels and recovering the requested data as compressed video or other data packets;
if the requested program is an analog video broadcast on the airwaves or a cable TV hybrid fiber coaxial cable network, tuning to the requested signal, digitizing and demodulating the tuned signal to generate a baseband digital NTSC, PAL or SECAM video signal;
if necessary to meet bandwidth constraints decompressing recovered compressed video and other data packets and recompressing them to a lower bandwidth that can be transmitted on the available bandwidth of said local area network;
converting digitized representations of NTSC, PAL or SECAM video signals to YUV format if said local area network has inadequate bandwidth to carry uncompressed video signals along with other network traffic then existing;
compressing YUV format data to MPEG packets having a state of compression that fits the available bandwidth;
packetizing compressed video and other data into internet protocol packets (hereafter IP packets) and encapsulating the IP packets in LAN packets addressed to the one or more peripherals that requested one or more program(s) and/or services and transmitting said LAN packets over said local area network to the peripherals that requested the data;
receiving upstream LAN packets and recovering encapsulated upstream IP packets therein; and
routing said upstream IP packets to either a cable modem, a DSL modem, a satellite dish transceiver or a conventional modem for coupling to a public service telephone network for transmission on an upstream logical channel.
The organization and operation of the customer gateways also provides a unique ability to perform video conferencing without a video phone using only a TV and a video camera coupled to a settop box. The elements of such a video conferencing apparatus are:
a gateway having interface transceiver circuitry for either or both a digital subscriber line or hybrid fiber coaxial cable of a cable TV system, and having a router and network interface circuit and having means coupling said interface transceiver circuitry to said router and network interface circuitry for compressing at least video and audio video teleconference data received from said digital subscriber line or said hybrid fiber coaxial cable and packetizing said compressed data and sending said packets to said router;
a local area network coupled to said network interface circuit for carrying downstream packets of video teleconferencing data;
a settop decoder coupled to said local area network for receiving said downstream packets of compressed video and audio data and converting them into conventional NTSC, PAL or SECAM format video signals;
a conventional television coupled to receive and display said conventional NTSC, PAL or SECAM video signals;
a conventional video camera or videophone coupled to said settop decoder for outputting upstream conventional NTSC, PAL or SECAM format video signals for the upstream portion of a video teleconference;
and wherein said settop decoder includes circuitry to receive said conventional format upstream video signal, digitize said video signal, compress the resulting data and packetize the resulting compressed into upstream video conference packets addressed to said network interface and router of said gateway for transmission over said local area network;
and wherein said router routes said upstream video teleconferencing packets to the appropriate interface transceiver circuitry for either said digital subscriber line or said hybrid fiber coaxial cable, depending upon which medium is being used to deliver the upstream teleconference data.
In general, the functions performed in the pull multiplexers and cable modems and gateways and DSL modems can be performed by any conventional circuitry that is already known. Nothing about the structure or operation of the devices described herein is critical to the invention unless specifically so stated or it is essential to achieve the result described even if not specifically stated to be critical to the invention.